<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            background-color: pink;
        }
    </style>
</head>

<body>
    <div id="test"></div>

    <!-- 引入核心库 -->
    <script type="text/javascript" src="./React-js/16.8/react.development.js"></script>
    <!-- 用于支持react操作DOM -->
    <script text="text/javascript" src="./React-js/16.8/react-dom.development.js"></script>
    <!-- 用于将jsx转换为js -->
    <script text="text/javascript" src="./React-js/16.8/babel.min.js"></script>

    <script type="text/babel">
        // 定义类组件
        class Weather extends React.Component {
            // 初始化状态
            state = { isHot: false, wind: '大风' }

            render() {    
                return (
                    <h2 onClick={this.demo}>今天天气{this.state.isHot ? '炎热' : '很冷'}</h2>
                )
            }
            // 自定义方法---需要赋值语句的形式+箭头函数
            demo = ()=> {
                console.log('this', this); // undefind

                this.setState({ isHot: !this.state.isHot })
            }
        }
        // 渲染组件到页面
        ReactDOM.render(<Weather />, document.getElementById('test'))

    </script>
    <!-- 
        1、组件中 render方法中的this 为组件实例对象-
        2、组件自定义的方法中this为 undefined，如何解决?
                 a.强制绑定this:通过函数对象bind
                 b.箭头函数
        3、状态数据，不能直接修改或更新
     -->
</body>

</html>